JAWS UG Niigata プチキャッチアップ 2024 履歴
昨年の実施履歴: JAWS UG Niigata プチキャッチアップ 2023 履歴
次年の実施履歴: JAWS UG Niigata プチキャッチアップ 2025 履歴
2024#1 2024/01/04 (木) https://jawsug-niigata.connpass.com/event/306003/
初心者向けお試し
EC2をマネジメントコンソールから作成して、Instance ConnectでSSH接続する
マネジメントコンソールから久しぶりにEC2作成したから、UIが変わってて新鮮
今回はプライベートではなくパブリックIPでInstance ConnectでSSH
プライベートの場合は、VPCにInstance Connectエンドポイントを設置しておけばパブリックIPは不要
https://dev.classmethod.jp/articles/ec2-instance-connect-endpoint-private-access/
パブリックアクセスの場合、EC2にアタッチするセキュリティグループのインバウンドにAWSサービスからのIP範囲からのSSHアクセスを許可する必要がある
https://dev.classmethod.jp/articles/tsnote-ec2connect-connecterror/
code:ip-ranges.json
{
"ip_prefix": "3.112.23.0/29",
"region": "ap-northeast-1",
"service": "EC2_INSTANCE_CONNECT",
"network_border_group": "ap-northeast-1"
},
2024#2 2024/01/11 (木) https://jawsug-niigata.connpass.com/event/306843/
もくもく会
Kinesis と MSK でストリーミングデータ処理を試す
https://catalog.us-east-1.prod.workshops.aws/workshops/76d4b4eb-bff7-40c6-a925-7f101ad3bd43/en-US
Kinesisの途中まで実施
2024#3 2024/01/18 (木) https://jawsug-niigata.connpass.com/event/307550/
気になる記事
ECSがEBSボリュームとのネイティブな統合をサポート
https://aws.amazon.com/jp/blogs/aws/amazon-ecs-supports-a-native-integration-with-amazon-ebs-volumes-for-data-intensive-workloads/
既存のEBSボリュームスナップショットから作成された、新規のEBSボリュームにもアタッチ可能。
2024年4月1日からAWS認定試験の受験費用が改定
https://dev.classmethod.jp/articles/examination-fee-202404/
RDS延長サポート
https://dev.classmethod.jp/articles/how-to-manage-amazon-rds-extended-support/
その他
Aurora Serverless PostgreSQL v1 のPostgreSQLバージョンアップのお話
v1は、2月にPostgreSQL11ユーザは13への強制アップグレードがあるらしい
v1からv2への移行も考えたが、まずはv1上でPostgreSQL13へ上げたあと、v1からv2へ移行する予定。
https://dev.classmethod.jp/articles/moving-from-aurora-serverless-v1-tov2/
送信メールのお話
https://dev.classmethod.jp/articles/shutsugankanagawa-email/
メールの設定は明日は我が身
SPF、DKIM、DMARCの設定は確認しておこう
https://dev.classmethod.jp/articles/amazon-ses-set-up-spf-dkim-dmarc-and-unlocked-sandbox/
https://qiita.com/teruq/items/cfae49b27c8cb1227c42
Gmailの送信者ガイドラインも参考に
https://support.google.com/a/answer/81126?hl=ja&visit_id=638411780109613495-638933907&rd=1
2024#4 2024/01/25 (木) https://jawsug-niigata.connpass.com/event/308305/
社内にAWSを広めていきたい相談
社内にあるぐちゃぐちゃなAWS環境などを整理していきたい
営業などになぜAWSを使うのかを説明したい
AWSコスト削減の話
もうすぐこんなのあるよ
https://no1.connpass.com/event/305664/
2024#5 2024/02/01 (木) https://jawsug-niigata.connpass.com/event/308860/
コスト削減の勉強会をみる
https://no1.connpass.com/event/305664/
後半のLTをみんなで見る
Auroraのコストのお話
本番で使えるインスタンスタイプを運用していくと、何も考えずにやると意外とお金かかる
書き込みは早いので、トータルコストで見て安いか高いか
会社のAWS利用方法の整理をしている話
みんなマネコンから無邪気にサービス立てているので、Terraformでサービスを立てるように少しずつ改善している
認定資格取得について
どこから取得した方が良いか
ソリューションアーキテクト-アソシエイトが幅広くAWSサービスを学べるのでオススメ
2024#6 2024/02/08 (木) https://jawsug-niigata.connpass.com/event/309712/
気になる記事
CloudFormationから既存リソースのテンプレート作成
https://dev.classmethod.jp/articles/cloudformation-iac-generate/
https://dev.classmethod.jp/articles/cloudformation-iac-generator-console/
https://aws.amazon.com/jp/about-aws/whats-new/2024/02/aws-cloudformation-templates-cdk-apps-minutes/
Aurora PostgreSQLのBlue / Green デプロイメント
https://dev.classmethod.jp/articles/amazon-rds-blue-green-deployments-aurora-postgresql/
その他
AWSのアクセスキーがいろんなところで使い回されて利用されて困っている
CloudTrailでアクセス先のリソースとアクションはわかるが、アクセス元はわからないので、AWSサポートに問い合わせてアクセス元のIPアドレス一覧は取得できた
アクセスキーは使い回さず、利用用途に応じて権限絞って払い出さないと管理できなくなる
権限設定はIAMグループで
IAM Role Anywhereというサービスもあるので、予算があればこれで管理する手もあり
https://dev.classmethod.jp/articles/iam-roles-anywhere-with-aws-pca/
サーバーレスなデータストア
TiDBとかは面白い
S3にSQLiteを格納して利用する方法も出ている
Cloudflare D1はCDNのエッジ側でSQLiteのレプリカが展開された状態で動作するので、使いこなすと強力
2024#7 2024/02/15 (木) https://jawsug-niigata.connpass.com/event/310321/
もくもく会
Aurora MySQL から Redshift への zero-ETL 統合を試す
https://dev.classmethod.jp/articles/general-availability-amazon-aurora-mysql-zero-etl-integration-redshift/
https://pages.awscloud.com/rs/112-TZM-766/images/PDF_AmazonAuroraとAmazonRedshiftのZero-ETL%20統合のご紹介.pdf
まずは、環境整備まで
お悩み相談
AWSでのデータ分析ダッシュボードは?
QuickSightがある
少数利用なら、作成者数名分の利用料 ( + SPICE利用料 ) で済む
他
新潟でのWeb開発会社など
JAWS-UG新潟の運営メンバーには、Webアプリ開発している会社に勤務中
https://www.agri-note.jp/
新潟での最近のオフライン勉強会
DERTAさんでのイベント
https://ddd-ng.connpass.com/event/308291/
Niigata 5分 Techさんでのイベント
https://niigata-5min-tech.connpass.com/event/310026/
他、JAWS-UG新潟のイベントなど、増えてきている
2024#8 2024/02/22 (木) https://jawsug-niigata.connpass.com/event/310808/
お悩み相談
Fargate から Aurora PostgreSQL にActive Record (Rails 不使用) を用いてIAM認証で接続を試みたら、15分経過後のIAM認証セッション切れをリフレッシュできずに苦労した
とりあえず以下のライブラリを用いて対処
https://github.com/haines/pg-aws_rds_iam
zero-ETL統合を開始しようとしたら、以下のエラー発生。今のところ対処法を探している。
Aurora MySQL Serverless v2 / Redshift Serverless 間の設定
code:bash
aws rds create-integration \
--integration-name zero-etl-integration-test \
--source-arn <AuroraクラスタARN> \
--target-arn <Redshift名前空間ARN>
An error occurred (InvalidParameterCombination) when calling the CreateIntegration operation: Zero-ETL integrations only support Redshift Managed Storage (RMS) instance types. Either upgrade the instance type of your Redshift data warehouse, or choose a different one.
Redshift Serverlessだから Redshift Managed Storageしか使えないはずなのに、このエラーが出ている。
新規AWSアカウント (AWS Organization配下) にて、CloudfrontのDistributionが全く作れない
似たような記事: https://qiita.com/devalon/items/8038983c0c60d0635b0f
他のAWSアカウントでは Distribution はよく作っていたが、このアカウント上では初めての作成なのに全く作れない。
サービスクォータで申請したら解決した
2024#9 2024/02/29 (木) https://jawsug-niigata.connpass.com/event/311701/
お悩み相談
CloudFormationの勉強をしているが、GUIで構築する方法はないか?
CloudFormation Designer
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer-walkthrough-createbasicwebserver.html
Application Composer
https://dev.classmethod.jp/articles/getting-started-application-composer/
VS Codeでも編集可能
https://dev.classmethod.jp/articles/update-reinvent23-application-composer-in-vs-code/
ただし、生成されるテンプレートは純粋なCfnテンプレートではなく、SAMテンプレート。サーバーレスアプリケーション開発に向いている。
https://dev.classmethod.jp/articles/re-introducation-2022-aws-sam/
AWSサービスのどのあたりから学んだら良いか
よく触っているサービス・興味のあるサービス
AWS認定試験の最初によく出るサービス
Amazon S3は、他のいろんなサービスと連携するので、最初に学んでおくのはオススメ
S3はどんなことができるのか
ファイルの保管場所
バックアップ
データ連携
S3に置いたデータファイルに直接SQLクエリをかける機能もある ( S3 Select / Athena / Redshift Spectrum )
Webサイトホスティング
S3から直接配信だと https が使えないので、httpsを使いたい場合は、Cloudfrontを前段に挟むか、Amplify のホスティング機能を使うと良い
2024#10 2024/03/07 (木) https://jawsug-niigata.connpass.com/event/312118/
もくもく会
zero-ETL統合のエラーはアカウントを変えたら統合作成できた
エラーが出たアカウントは古いアカウントなので、もしかするとRedshift Managed Storageに対応していないAZのSubnetに作ってしまったのかもしれない(そこまで深く確認してない)
今回用にOrganizationsで新規作成したAWSアカウント上で同じCFNテンプレート使ってRedshift ServerlessやAurora MySQL Serverlessを作って統合作成を試したらエラー発生せず作成できた
なお、Redshiftの拡張VPCルーティングは無効にしないと統合作成できない
来月のプレゼン資料のネタ作成
Application Composer + Serverless + ETLで検討中
2024#11 2024/03/14 (木) https://jawsug-niigata.connpass.com/event/312890/
気になる記事
Claude 3 でパワポ資料を文字起こし
https://dev.classmethod.jp/articles/read-powerpoint-document-with-claude-3/
他
BuilderCardsってできるのか?
日本語版1セット所有しているので、今度のJAWS-UG新潟の本編勉強会で遊べるようにしたい
SESのSandbox制限解除がすんなりいかなかった話
https://dev.classmethod.jp/articles/relaxing-send-limit-and-removing-sandbox-restriction-in-ses/
ケース申請でCase Descriptionを上記記事のように簡潔に書いて申請したら、通らなかった
用途とか本文のサンプルなどを書いて申請し直して、24時間経過後にようやく通った
Global Accelerator でWebサイトのマルチリージョンアクセスをできるようにした話
https://dev.classmethod.jp/articles/re-introduction-2022-globalaccelerator/
Route53で振り分けようとも思ったが、配下のALBにIPアドレスでしかAレコード指定できず、ALBはIP変化するのでこのやり方では使えなかった
WAFのログから特定のパスへのアクセスを調べる方法は何かあるか?
WAFのログからAthenaでクエリ検索かける方法はある
https://dev.classmethod.jp/articles/query-aws-waf-full-log-by-athena/
2024#12 2024/03/21 (木) https://jawsug-niigata.connpass.com/event/313520/
もくもく会
Aurora zero-ETL integration with Redshift のフィルタリングとCfnのサポートの検証準備
https://aws.amazon.com/jp/about-aws/whats-new/2024/03/amazon-aurora-zero-etl-integration-redshift-data-filtering-cloudformation/
フィルタリング: https://aws.amazon.com/jp/blogs/big-data/announcing-data-filtering-for-amazon-aurora-mysql-zero-etl-integration-with-amazon-redshift/
Cfn: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-rds-integration.html
まずはCfnの検証まで。フィルタリング検証は後日。
お悩み相談
CDKでどんなリソースが作られるのか、よくわからなくなってくる
CDKはあくまでCloudformationのラッパーなので、CDKのデプロイはCloudformationのスタックとして実行されている
cdk synth コマンドを実行すると、CDKで生成されるCloudformationテンプレートが確認できるので、生成されるリソースも確認できる
https://cdkworkshop.com/ja/20-typescript/20-create-project/400-synth.html
Greengrass って何ができるのか?
Lambdaのローカル実行やDockerコンテナ実行などが可能になる
https://aws.amazon.com/jp/greengrass/features/
他
HLS動画再生のためにKinesis Video Streams を使っている
https://docs.aws.amazon.com/ja_jp/kinesisvideostreams/latest/dg/hls-playback.html
Terraformからforkした OpenTofu
https://zenn.dev/yuta28/articles/fork-opentf-from-terraform
2024#13 2024/03/28 (木) https://jawsug-niigata.connpass.com/event/314145/
気になる記事
AMIクロスアカウント共有の際にEBSスナップショットが暗号化されている場合の対処法
https://dev.classmethod.jp/articles/tsnote-aws-managed-cmk-cannot-be-shared/
AMIを共有してもらって環境再現する際に役に立った
他
IoT GreengrassのDockerコンテナにデバッグ目的でシェルにアタッチしたい
https://docs.aws.amazon.com/ja_jp/greengrass/v2/developerguide/docker-troubleshooting.html
この記事だとできそう
Amazon Qはまだ使いにくい
英語しか使えない
今ならBedrockからClaude v3使って問い合わせた方が良いと思う
去年のJAWS-UG新潟でのハンズオン資料があるので、参考まで (Claude v2)
https://github.com/kasacchiful/jawsug-niigata-amazon-bedrock-handson
IaCの定義からサービスの関連性をビジュアライズできるツールはあるか?
Cfnのデザイナーは使いにくい
PluralithはTerraformの構成図を生成してくれるので、Terraform使う場合には便利そう
https://dev.classmethod.jp/articles/terraform-visualise-pluralith/
2024#14 2024/04/04 (木) https://jawsug-niigata.connpass.com/event/314864/
気になる記事
Bedrocで手軽に紙芝居を生成
https://aws.amazon.com/jp/builders-flash/202404/bedrock-eshibai-generation/
他
テレビ放送の投票システムを検討中
参考: https://d0.awsstatic.com/events/jp/2017/summit/slide/D3T5-3.pdf
どこまで予算をかけられるか、想定するアクセス数はどれくらいか、あたりでサービスを少し変えることも検討
KinesisをSQSに変える、API GatewayをAppSyncに変える、等
アクセス数が読めないので、サーバーレスで組むのが常套手段か
簡単なものであれば、以下のような感じで組むのもあり
https://qiita.com/is_ryo/items/ffe59a06df500d530d14
他にも、配信については以下のサイトが参考になるかも
https://dev.classmethod.jp/articles/aws-oneyear-deverop/
2024#15 2024/04/11 (木) https://jawsug-niigata.connpass.com/event/315516/
もくもく会
Step Functionsのワークフロースタジオを色々触る
普段はyamlで直接フローを記述するので、GUIでの操作があまり慣れてないので面白かった
https://aws.amazon.com/jp/blogs/news/new-aws-step-functions-workflow-studio-a-low-code-visual-tool-for-building-state-machines/
https://catalog.us-east-1.prod.workshops.aws/workshops/9e0368c0-8c49-4bec-a210-8480b51a34ac/ja-JP
2024#16 2024/04/18 (木) https://jawsug-niigata.connpass.com/event/316207/
お悩み相談会
IoT Core → Kinesis Data Stream → Lambda の構成があるのだが、Kinesis Data Streamって必要なのかな?
IoT Core → Lambda の構成も取れるはず
Lambdaの前段で、ちょっとしたデータの加工とか、 Amazon Managed Service for Apache Flink (旧名称: Amazon Kinesis Data Analytics) を使ってリアルタイム分析したい場合とか、ある程度まとまった状態でLambdaにデータを送りたいケースとかでKinesis使うケースがあるかも
参考: AWS IoTで取得した情報をKinesis Data FirehoseでまとめてS3に保存してみた
https://dev.classmethod.jp/articles/iot-m5stick-kinesisf-s3/
IoT Core → S3だと、センサーデータが来るたびにファイルが生成されるが、Firehoseを挟むことである程度のまとまりでファイル化されてS3に保存される
参考: AWS Kinesisのシャード割り当てのルール
https://qiita.com/ssossan/items/8acfb380493cbfc7fbee
Kinesis Data Streamはシャードという単位で動作する
オンデマンドモードなら、負荷に応じてシャードを自動的に増減してくれるので便利
他
軽量JavaScriptランタイム「LLRT」
https://github.com/awslabs/llrt
https://www.itmedia.co.jp/news/articles/2402/15/news137.html
AWS CDK Workshop
https://cdkworkshop.com/ja/
2024#17 2024/04/25 (木) https://jawsug-niigata.connpass.com/event/316827/
気になる記事
CloudFront が Lambda Functions URL オリジンのOACをサポート
https://aws.amazon.com/jp/about-aws/whats-new/2024/04/amazon-cloudfront-oac-lambda-function-url-origins/
Functions URLの前段にCloudFrontを挟める
お悩み相談会
Aurora MySQL を v2 (MySQL 5.7 互換) から v3 (MySQL 8.0 互換) にアップグレードしたい
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.mysql80-upgrade-procedure.html
https://aws.amazon.com/jp/blogs/news/upgrade-to-amazon-aurora-mysql-version-3-with-mysql-8-0-compatibility/
インプレースアップグレード・スナップショット復元のほか、ブルーグリーンデプロイでのアップグレード方法もある
RDS MySQL 5.7 から Aurora MySQL 8.0 への移行方法もまとめられている
https://dev.classmethod.jp/articles/migrate-aws-rds-to-aurora-simple-way
BedrockやAWSの学び方
DevelopersIOに色々掲載している
https://dev.classmethod.jp/
jawsug-niigataのscrapboxに「インプット素材リスト」も参考に
インプット素材リスト
Bedrockは以前のJAWS-UGのBedrockハンズオン資料もご参考に
https://github.com/kasacchiful/jawsug-niigata-amazon-bedrock-handson
他
AWS Summit Japan 2024
https://aws.amazon.com/jp/summits/japan-teaser/
2024/6/20 - 21 開催
JAWS-UG新潟#17
https://jawsug-niigata.connpass.com/event/317150/
AWS Expert Online for JAWS-UG#33の内容をお届け
Generative AI Use Cases JPの魅力や使い方
JAWS-UG新潟#18
https://jawsug-niigata.connpass.com/event/317146/
IoT LT新潟との共催
AWS LambdaハンズオンとLT大会を実施予定
2024#18 2024/05/02 (木) https://jawsug-niigata.connpass.com/event/317555/
雑談
お客様から提供いただいたAMIからEC2を起動したら、裏でEC2から本番環境のデータを改変するスクリプトが自動起動した件
EC2は検証環境用AWSアカウントで起動したものの、EC2内に本番環境AWSアカウントへのアクセスキー等が含まれていて、気づかないうちにデータが変わっていた
データは復元済
EC2からのほとんどの通信を遮断する等をしないといけなかった模様
こういうトラップが結構仕込まれていてつらい
アクセスキーではなくIAMロールならある程度防げた
ドキュメントも残っておらず、誰も自動起動スクリプトの存在は知らなかった
AWS IoT 1-ClickがEOL
https://aws.amazon.com/jp/iot-1-click/faq/
2024年12月16日にはサービス終了
Soracom LTE-M Button for Enterprise → Soracom Funk → AWS Lambda に移行した
https://soracom.jp/store/5206/
https://soracom.jp/services/funk/
LambdaへのPayload文字列は変わるが、基本的な機能は使えるので、Payloadへのアクセス部分を変えれば問題なし
フロントにAstroを使ったサイトの作成
https://docs.astro.build/ja/guides/deploy/aws/
Amplifyへのデプロイはできそう
2024#19 2024/05/09 (木) https://jawsug-niigata.connpass.com/event/318210/
気になる記事
Amplify Gen2 が GA
https://dev.classmethod.jp/articles/amplify-gen2-ga-cli/
お悩み相談
AWS Batchで外部のAPIサーバにアクセスしたいが、IP固定しないといけない。固定化する方法はあるか?
AWS BatchがVPCへアクセスできるのであれば、VPCからNAT Gateway経由でインターネットに出れるかも。可能な場合はNAT GatewayにElastic IPをアタッチすれば、IP固定でアクセス可能になる。
AWS BatchがVPCへアクセスできればの話
この辺りを実施すればいけるかもしれない
https://docs.aws.amazon.com/batch/latest/userguide/create-public-private-vpc.html
Aurora MySQL を v2 (MySQL 5.7 互換) から v3 (MySQL 8.0 互換) にアップグレードができた
インスタンスサイズが小さかったため、サイズアップ
v3 の選択肢が出てきたので、v3へアップグレード
ダウンタイム約5分程度で済んだ
AWS IoT Coreの制限は?
クォータを確認すると良い
https://docs.aws.amazon.com/ja_jp/general/latest/gr/iot-core.html
調整可能なものは、上限緩和申請が可能
IoTでTLS通信実装すると面倒なので、SORACOMを使うことにした
今回の要件に合うのが SORACOM Funnelだった
https://soracom.jp/services/funnel/
SORACOM Funnel経由でAWS IoTに転送する予定
2024#20 2024/05/16 (木) https://jawsug-niigata.connpass.com/event/318732/
気になる記事
S3でいくつかのHTTPエラーコードに対して課金されなくなった
https://dev.classmethod.jp/articles/amazon-s3-no-charge-http-error-codes/
お悩み相談
Generative AI Use Case JP (GenU) を企業で使う際に、最初リポジトリをフォークして使用しようとしていたがプライベートリポジトリにできなかったため、一旦コードを持ってきて別リポジトリにプッシュしたが、今度は元のリポジトリからの更新に追従できなくなった。何か良い構成・使い方はあるか?
https://github.com/aws-samples/generative-ai-use-cases-jp
一旦ローカルにクローンして、リモートリポジトリを追加設定してそのリポジトリにプッシュしてから利用するとか
一旦Issueに投げて質問してみるのが良いかもしれない
RDSのリザーブドインスタンスってどうなの?
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_WorkingWithReservedDBInstances.html
プリペイドのような使い方が望ましいので、使用率が100%近くないと損するケースもある
インスタンスの変更に制限があるので、クラウドの利点である柔軟性は失われる
本当にリザーブドインスタンスにすべきなのか、改めて検討することをお勧めする
利用料の確認
毎回AWSマネジメントコンソールにログインして確認しているわけではない
AWS Budgetsでアラートを設定しておくと良い
特に予測値のアラートはオススメ
2024#21 2024/05/23 (木) https://jawsug-niigata.connpass.com/event/319468/
雑談
先週のJAWS-UG新潟 × IoT LT新潟 の勉強会、参加できませんでした...
https://jawsug-niigata.connpass.com/event/317146/
ハンズオン資料: https://github.com/kasacchiful/jawsug-niigata-20240518-lambda-handson
他、LT発表資料は connpass ページにて掲載
結構盛り上がりました
AWSでプロジェクト管理ツールってありますか?
いや、無いです。
Code CatalystでIssueチケット作れるけど、おすすめはしない
https://codecatalyst.aws/explore
AWSのテストでLocalStackとかありますが、使ったことありますか?
LocalStack: https://www.localstack.cloud/
使ったことはないです
テストする時は開発用アカウントにデプロイして確認します
2024#22 2024/05/30 (木) https://jawsug-niigata.connpass.com/event/320193/
もくもく会
AWS CDKでStep Functionsを定義する方法を調査
aws_stepfunctions および aws_stepfunctions_tasks モジュールを使って Chain を作成
aws_stepfunctions.DefinitionBody.fromFile() を使って、ASL JSON や ASL YAMLを読み込む
aws_stepfunctions.DefinitionBody.fromString() を使って、ASL JSON文字列を渡す
fromString() は ASL YAML文字列は認識できなかった
fromFile() の場合に ARN などをプレースホルダで置換してくれる機能ってないのかな?constructで定義したリソースを指定できると嬉しい
fromString() なら、強引に テンプレートリテラル あたりで置換しようと思えばできる。
Chain 作るのは結構面倒な印象。ASL YAMLで書ければ、既存資産の移行がしやすい。
2024#23 2024/06/06 (木)https://jawsug-niigata.connpass.com/event/320893/ (kam1nchu代理開催)
お悩み相談
みんなコンテナとかamplifyをどうやって知っていって触っていくのか気になる
ペタバイト級のデータのやり取りを行うための適切なストレージクラスは
Glacier Flexible Retrievalだと40件を超えたあたりで取り出しができなくなっていく
Glacier Instant Retrievalはよさそうだけども料金はどうだろうか
AuroraやFirebaseのデータを集約して見たい
Looker studioだとどうか
bedrock面白そうだよね
笠原さんが過去にハンズオンをやったので、その資料も参考までに
https://jawsug-niigata.connpass.com/event/299332/
2024#24 2024/06/13 (木) https://jawsug-niigata.connpass.com/event/321832/
お悩み相談
IaCの学び方
基本はCloudFormation
AWS SAMはCloudFormation拡張で、特にサーバーレスアプリケーションを扱う際に有用
AWS SAM CLIでビルド&デプロイを行う
AWS CDKはプログラムコードからCloudFormationスタック生成できる
cdk synth で生成されるCloudFormationテンプレートが確認でき、 cdk deployコマンドでデプロイ可能
最近はServerless FrameworkからAWS CDKに乗り換え中
Application ComposerはGUIで構築でき、AWS SAMのテンプレートを出力できる
VS Code上からも構築可能
CloudFormation Designerの後継に、Application Composerの「CloudFormationコンソールモード」が利用可能
https://dev.classmethod.jp/articles/application-composer-cloudformation-console/
Application ComposerのSAMテンプレート出力とは異なり、SAMリソースのLambdaは使えない等の制限がある模様
サーバーレスアプリケーションを扱うのであれば、Application Composerでリソース確認は使えるかもしれないが、そうでなければ、地道にCloudFormationテンプレートを一つずつ学んでいくのが遠いようで近道なのかもしれない。
マネコンとAWS CLIの対応を確認して、CLIの内容からCloudFormationテンプレートを書き起こす方法で学んだ
2024#25 2024/06/20 (木) https://jawsug-niigata.connpass.com/event/322356/
もくもく会
AthenaでCTAS/Insertした際の100パーティション制限がIcebergでも発生するか確認
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/ctas-insert-into.html
Icebergでも発生
エラーは ICEBERG_TOO_MANY_OPEN_PARTITIONS となっている
回避方法は、100パーティションを超えないように条件絞ってCTAS/Insertする必要がある
2024#26 2024/06/27 (木) https://jawsug-niigata.connpass.com/event/323073/
お悩み相談
AutoScaling配下のEC2にCodeDeployでデプロイする場合、AMIも更新したい
https://qiita.com/hirai-11/items/127e812dc7bc570c4398
https://docs.aws.amazon.com/ja_jp/codedeploy/latest/userguide/integrations-aws-auto-scaling.html
AMI更新したら起動テンプレートのAMIを差し替えることは可能
https://dev.classmethod.jp/articles/use-daily-backup-of-asg-instance-for-golden-image/
AMI更新したら起動テンプレートだけでなくそのままデプロイすることも可能
https://dev.classmethod.jp/articles/aws-autoscaling-amiupdate-usgin-ssmautomation/
AMIのゴールデンイメージを更新したらデプロイの流れなら、実現できそう
AMI更新にEC2起動しないといけないのか
EC2 Image BuilderやPackerあたりが有力
https://dev.classmethod.jp/articles/ec2-image-builder-primer/
https://www.packer.io/
他
AWS Summit Japan 2024
オンデマンド配信が始まっている (7/5まで)
資料ダウンロードも可能
2024#27 2024/07/04 (木) https://jawsug-niigata.connpass.com/event/323790/
もくもく会
GlueでDelta Lakeフォーマット出力を試す
Visual Editorだと、比較的簡単に出力可能
Scriptでも問題なし
Glue Data Catalogにテーブルとして保存しようとするとエラーになるので要調査
2024#28 2024/07/11 (木) https://jawsug-niigata.connpass.com/event/324477/
お悩み相談
Webサーバホスティングについて、予算がそこまでない場合
Amazon Lightsail
簡易なVPSサービスを利用したい場合に比較的お安く利用できる
AWS Amplify
フロントエンド開発がバリバリできる方向けにおすすめ
Webサーバの防御について
CloudfrontのCDN
オリジンサーバへのアクセス低減
AWS WAF
Webアプリケーションファイアウォール
AWS Shield
DDoS対策
参考: https://aws.amazon.com/jp/builders-flash/202308/coconala-ddos-countermeasure/
AWS認定資格取得について
https://aws.amazon.com/jp/certification/
「Solutions Architect - Associate」は、AWSサービスを幅広く扱うので、最初に目指す認定資格として、おすすめです
その前段に「Cloud Practitioner」取得するのもOK
2024#29 2024/07/18 (木) https://jawsug-niigata.connpass.com/event/325131/
もくもく会
2024#27 で試した Delta Lakeフォーマット出力にて、Glue Data Catalogのテーブルとして保存する方法がわかった
GlueデータベースのS3ロケーションパスと、Glueで指定するS3パスを同じにする必要がある
他のフォーマット(CSV/Parquet/Iceberg/etc.) のGlueテーブルとは指定が異なるので、ハマった
普通は DBは s3://sample-db/ としてバケットを指定して、テーブルは s3://sample-db/sample-table/ としてバケット配下のパスを指定するが、Delta Lakeは DBを s3://sample-db/ としたら、テーブル作成の際のパスをDBと同じ s3://sample-db/ パスにしないといけない。
テーブルのロケーションが s3://sample-db/sample-table-__PLACEHOLDER__ となっている
詳細は後日ブログにまとめる
2024#30 2024/07/25 (木) https://jawsug-niigata.connpass.com/event/325702/
もくもく会
awsのマネコンでecs作ってみる
とりあえず雑にnginxのサービスを
code deployを使ったblue/greenまで行けた
2024#31 2024/08/01 (木) https://jawsug-niigata.connpass.com/event/326630/
もくもく会
Athena Spark Notebook から Apache Iceberg フォーマットを触る
ノートブック作成時にSparkプロパティの「追加のテーブル形式」でIcebergを指定すると利用可能
spark sqlで create tableすれば、glue data catalogに反映される。
Athena Spark NotebookでInsertしたデータをAthena SQLでSelectできる。その逆もできる。
2024#32 2024/08/08 (木) https://jawsug-niigata.connpass.com/event/327059/
もくもく会
dbt coreをECS Fargateで動かす準備
https://dev.classmethod.jp/articles/use-dbt-with-ecs-sfn-redshift/
https://aws.amazon.com/jp/blogs/big-data/implement-data-warehousing-solution-using-dbt-on-amazon-redshift/
まずは dbt coreが動くdockerコンテナの準備まで
次回以降、ECSタスクで動かすように試す
2024#33 2024/08/15 (木) https://jawsug-niigata.connpass.com/event/327780/
もくもく会
dbt coreをECS Fargateで動かす(続き)
https://dev.classmethod.jp/articles/use-dbt-with-ecs-sfn-redshift/
https://aws.amazon.com/jp/blogs/big-data/implement-data-warehousing-solution-using-dbt-on-amazon-redshift/
ECSタスクの権限周りで苦戦
次回以降、改めて設定を見直す
2024#34 2024/08/22 (木) https://jawsug-niigata.connpass.com/event/328310/
もくもく会
JAWS PANKRATION 2024 登壇内容の調整
https://jawspankration2024.jaws-ug.jp/ja/
スライド資料及びトークスクリプトの修正・改善を実施
2024#35 2024/08/29 (木) https://jawsug-niigata.connpass.com/event/328916/
お悩み相談会
CloudWatch Internet Monitorって何?
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html
https://dev.classmethod.jp/articles/preview-cloudwatch-internet-monitor-introduction/
インターネット上で発生している問題等に関するパフォーマンスをCloudWatchで可視化できるサービス
VPCやCloudfrontと連携すると、インターネット上の問題におけるパフォーマスへの影響を確認できる
RDSのMySQL / PostgreSQLとAurora MySQL / PostgreSQLの料金の違い
https://aws.amazon.com/jp/rds/pricing/
雑談
新潟のコミュニティ情報
2024#36 2024/09/05 (木) https://jawsug-niigata.connpass.com/event/329702/
お悩み相談会
生成AIの会話履歴のDBはDynamoDBに保存するケースが多いのはなぜ?
アクセスしやすい
値段も手頃で安い
スケールしやすい
単純な操作で読み書きできる
Claude や GPT などのモデルで、たとえばdataframe等のバイナリデータをAPIに投入することはできるか?
基本は文字列を投入するので、dataframeをたとえばmarkdownの表形式に表現し直して投入することはできる
Webアプリ上の処理でタイムアウトしてしまう。DBをAurora Serverlessに変更しようと考えているが、費用感や性能面はどうなのか?
https://dev.classmethod.jp/articles/calculate-amazon-aurora-serverless-costs/
アプリケーションの負荷が変わったり、予測不能な場合には、オートスケール狙いでAurora Serverlessは有用
実際にPoCとして動かしてみて、費用感や性能面を検証すると良い
なお、Webアプリ上の処理でタイムアウトするのであれば、DBアクセスを非同期処理にしてしまってWeb画面上は「処理開始」の旨を伝えるだけで終わらせた方が良いのでは?
あるBedrockハンズオンで、VPC上にECSを稼働させているのだが、これをインターネットに公開したい場合はVPCのネットワーク構成を変えれば動くのか?
おそらく動くはず
VPCにインターネットゲートウェイがないはずだから、まずはインターネットゲートウェイをアタッチ
ルートテーブルにてインターネットゲートウェイへのルートを追記してサブネットにアタッチ
ALBが無ければALBを導入してインターネットからALB経由でECSコンテナにアクセスできるようにしてあげると良い
とはいえ、ハンズオンは一般的にインターネットからの常時アクセスにそこまで考慮していないはずだから、セキュリティ面は注意して設定する必要がありそう
どうやらハンズオン資料はこれっぽい
https://qiita.com/minorun365/items/84bef6f06e450a310a6a
2024#37 2024/09/12 (木) https://jawsug-niigata.connpass.com/event/330346/
気になる記事
Fargate SpotでGravitonベースコンピューティングのサポート
https://dev.classmethod.jp/articles/amazon-ecs-graviton-based-spot-compute-fargate/
https://aws.amazon.com/jp/about-aws/whats-new/2024/09/amazon-ecs-graviton-based-spot-compute-fargate/
Oracle Database@AWS
https://www.oracle.com/cloud/aws/
https://ascii.jp/elem/000/004/221/4221237/
他
AuroraをGravitonベースで動かす際のデミリットってある?
おそらく無いのでは?
2024#38 2024/09/19 (木) https://jawsug-niigata.connpass.com/event/331016/
もくもく会
dbt coreをECS Fargateで動かす(続き)
dbt-core & dbt-athena-community をFargateから実行して、Glueカタログで定義済のCSVテーブルから、Icebergテーブルの作成に成功
コンテナのビルドとデプロイは手動で行っているが、面倒なので、今後簡単にビルドとデプロイができるようにしていきたい
2024#39 2024/09/26 (木) https://jawsug-niigata.connpass.com/event/331702/
お悩み相談会
Bedrock Knowledge Basesでの費用で、OpenSearch Serviceを使っているのはなぜか?
試した記事: https://qiita.com/moritalous/items/b63d976c2c40af1c39e5
Knowledge Basesのサービスの裏で、OpenSearch ServiceのServerless (Vector Store) を使っているため
費用はOCU (OpenSearch Computing Unit) ベースのコンピュート費用とストレージ費用がかかる
AWSのコストページを見ると、Index OCUとSearchQuery OCUの費用がかかっているのがわかる
RAGを使う方法で、Bedrock Knowledge Bases以外に使う方法はあるか?
Kendraを使う方法がある
https://dev.classmethod.jp/articles/aws-rag-architecture-pattern/
添付ファイルを生成AIのモデルに入力する方法はあるか?
添付ファイルの内容をテキストに変換して入力する必要がある
添付ファイルの種類によってテキスト変換・抽出方法が異なるから、ファイルの種類を限定して対応するしかなさそう。
他
以前お話しした (#36) dataframeをClaude等のモデルAPIに投入する方法で、教えてもらったmarkdownに変換する方法で回答してもらうことができた
2024#40 2024/10/03 (木) https://jawsug-niigata.connpass.com/event/332382/
お悩み相談会
GlueジョブやコネクションをCDKで作成してみたけど、alphaのライブラリは使った方が良いか?
GlueはまだL2コンストラクトがリリースされておらず、L1コンストラクトしかない
CDKの良さを活かすのであればalphaライブラリを使うことを検討する
本番利用をする場合は、今後の仕様変更による改変を受け入れられるかどうかで決める
Glueジョブで特定のカラムを省いてS3に出力したい場合は、どうやったら良いか?
Visual ETLで実施する場合は、必要なノードを繋げて処理を設定すれば良い
裏ではPySparkのコードが自動生成されるので、Spark Engineで動作する
Pandas等のデータ加工に慣れている場合は、LambdaやGlueのPython Shellで記述・実行すれば良い
OpenSearch Serverlessの料金、何も使ってない時でも利用料がかかるようだ
https://dev.classmethod.jp/articles/ga-amazon-opensearch-serverless/
https://dev.classmethod.jp/articles/amazon-opensearch-serverless-price-down/
デフォルトでは最低でも4 OCU ( 設定次第で最低1 OCU (0.5 × 2) ) が常時かかる模様
Bedrock Knowledge BasesでOpenSearch Serverless以外のベクタストアも使えるのか?
クイック設定ではなく、既存の設定済ストアを選択することで可能
OpenSearch Serverless以外にAuroraやPinecone等が選択可能
https://www.pinecone.io/
参考: https://dev.classmethod.jp/articles/rust-bedrock-pinecode-rag/
2024#41 2024/10/10 (木) https://jawsug-niigata.connpass.com/event/333201/
もくもく会
RDS for OracleへのLambda、Glueジョブからの接続方法を確認
python-oracledb を利用
https://python-oracledb.readthedocs.io/en/latest/index.html
https://dev.classmethod.jp/articles/python-oracledb-lambdapython-rds-for-oracle/
thinモードで接続可能
thickモードでも接続できるか、今後確認したい
thickモードはOracle Instant Clientが別途必要になる
2024#42 2024/10/17 (木) https://jawsug-niigata.connpass.com/event/333951/
雑談会
CursorエディタとTerraformでAWS構成をサクッと定義・デプロイした話
https://www.cursor.com/
AWS Console-to-Code が GA
https://aws.amazon.com/jp/blogs/news/convert-aws-console-actions-to-reusable-code-with-aws-console-to-code-now-generally-available/
Python 3.13のFree-Threadingの話
Lambdaでも使えるのかな?
Graph RAGの話
https://aws.amazon.com/jp/about-aws/whats-new/2024/05/llamaIndex-amazon-neptune-graphrag-applications/
https://qiita.com/ksonoda/items/98a6607f31d0bbb237ef
2024#43 2024/10/24 (木) https://jawsug-niigata.connpass.com/event/334578/
もくもく会
RDS for OracleへのThickモードでの接続を試す
https://python-oracledb.readthedocs.io/en/latest/user_guide/initialization.html#enablingthick
python-oracledbの他に、Oracle Instant Clientを別途インストールする必要がある
Lambdaコンテナでまずは試したところ、うまく接続できた
後日ブログにまとめる
2024#44 2024/10/31 (木) https://jawsug-niigata.connpass.com/event/335326/
気になる記事
セキュリティグループを別のVPCに共有利用可能に
https://dev.classmethod.jp/articles/securitygroup-other-vpc-associate/
https://aws.amazon.com/jp/about-aws/whats-new/2024/10/amazon-virtual-private-cloud-security-group-sharing/
Route53にてHTTPSレコードタイプが利用可能になっている
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#HTTPSFormat
他
VPCに関連するリソースってどうやって管理している?
リソースマップはサブネットとルートテーブルとゲートウェイの関連付けまでは一覧表示されるが、他のリソースはわからない
https://dev.classmethod.jp/articles/vpc-resource-map/
CloudFormationやCDK、Terraform等で管理しているから、そこから関連するリソースを確認している程度
リソースエクスプローラを使っているが、IAMとかコストとかのグローバルサービスが関連付けで表示されない
https://dev.classmethod.jp/articles/aws-resource-explorer-new/
サポートに問い合わせて機能要望出すと良いかも
Lambda Web Adapter
https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/
https://speakerdeck.com/tmokmss/aws-lambda-web-adapterwohuo-yong-suruxin-siisabaresunoshi-zhuang-patan
2024#45 2024/11/07 (木) https://jawsug-niigata.connpass.com/event/335999/
気になる記事
CloudFrontのアカウント集約と割引プランの適用
https://dev.classmethod.jp/articles/other-account-alb-s3-as-cloudfront-origin/
Black Belt Online Seminar 一覧リストとbuilders.flash記事一覧
https://dev.classmethod.jp/articles/blackbelt-list/
https://dev.classmethod.jp/articles/lets-builders-flash/
他
AWS認定資格 (SAA) の学習方法
最新バージョン試験に対応した参考書で学ぶ
AWSの知識地図で全体像を掴む
AWS Black Belt セミナーの資料で各サービスの詳細を知る
実際にAWSのサービスを触る
AWSのイベント等で配布される25USDクーポンを入手して、AWS利用料を軽減する
AWS re:Invent 2024
https://reinvent.awsevents.com/
AWSの新サービス・新機能が大量に公開される
2024年は 12/2 (月) - 12/6 (金) (現地時間)
2024#46 2024/11/14 (木) https://jawsug-niigata.connpass.com/event/336662/]
もくもく会
DataZoneワークショップを試す
https://catalog.us-east-1.prod.workshops.aws/workshops/c7b9d931-6d86-4994-99e5-77ada5aaffbc/ja-JP
DataZoneを試す際に、別途AWSアカウントを用意して試そうと思い、Organizationで新規アカウントを作成する(任意)
実際にDataZoneを試すのは後日
お悩み相談会
クロスアカウントでのS3バケット間データ転送
以下の記事のように、IAMロールをAssumeするように設定すれば可能
https://dev.classmethod.jp/articles/cross-account-s3-sync/
2024#47 2024/11/21 (木) https://jawsug-niigata.connpass.com/event/337425/
気になる記事
Data Firehoseを使ってDBからIcebergテーブルへ変更を反映
https://aws.amazon.com/jp/blogs/aws/replicate-changes-from-databases-to-apache-iceberg-tables-using-amazon-data-firehose/
Kafka使わずにData FirehoseでCDCを使える
お悩み相談会
GitHub ActionsからAutoScaling配下のEC2へのデプロイ
https://aws.amazon.com/jp/blogs/devops/integrating-with-github-actions-ci-cd-pipeline-to-deploy-a-web-app-to-amazon-ec2/
CodeDeployあたりを使った方がエラーハンドリングしやすくて安全かと思われる
CodeCommitが新規で使えなくなってしまった
CodeCatalystがGitリポジトリ使えるけど、Gitリポジトリだけ使うというサービスではない
2024#48 2024/11/28 (木) https://jawsug-niigata.connpass.com/event/338091/
お悩み相談
Aurora Serverless v2の最小キャパシティが0にできると聞いたが、今使っているAurora MySQL Serverless v2だと最小キャパシティを0にできない
https://dev.classmethod.jp/articles/amazon-aurora-serverless-v2-supports-acu0-pause-resume/
MySQLは、Auroraエンジン 3.08.0 以上に対応とのこと
調べてみると、Auroraエンジン 3.06.0 だった。バージョンアップ含め対応検討するとの事。
ECSをVPC上で動かしているが、Subnetに名前をつけているけどその名前を指定できない。
Subnet等につけられる名前は、タグにて Name タグの値として設定しているだけであり、マネジメントコンソール上で Nameタグを参照して設定できる項目があるくらいの利用
実際には、ARNで指定したりSubnetIDを指定する必要がある
DynamoDBをVPCからアクセスするにはインターネットゲートウェイが必要?
VPCに「VPCエンドポイント」を設置すれば、インターネットゲートウェイは不要
DynamoDBは「ゲートウェイ型」と「インタフェース型」が設定できるが、基本「ゲートウェイ型」を設定すれば良い
違いは以下の記事を参照すると良い
https://dev.classmethod.jp/articles/vpc-endpoint-gateway-type/
https://dev.classmethod.jp/articles/amazon-s3-private-connectivity-on-premises-networks/
DynamoDBにある数千万レコードを集計したい
DynamoDBは集計に不向き
Python / Rust 等でコード上で集計しても良いが、DynamoDB → Redshift 間のZero-ETL統合を使えば、Redshift上でSQLを実行して集計することが可能
https://dev.classmethod.jp/articles/amazon-dynamodb-amazon-redshift-zero-etl/
他にも、DynamoDB → OpenSearch Service間のZero-ETL統合を使っても良い
https://aws.amazon.com/jp/blogs/news/amazon-dynamodb-zero-etl-integration-with-amazon-opensearch-service-is-now-generally-available/
2024#49 2024/12/05 (木) https://jawsug-niigata.connpass.com/event/338833/
もくもく会
"AWS re:Invent 2024 - CEO Keynote with Matt Garman" を観る
https://www.youtube.com/watch?v=LY7m5LQliAo
アップデート一覧を確認
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1201/
https://dev.classmethod.jp/articles/aws-re-invent-2024-matt-garman-keynote/
https://dev.classmethod.jp/articles/aws-re-invent-2024-swami-sivasubramanian-keynote-awsreinvent/
2024#50 2024/12/12 (木) https://jawsug-niigata.connpass.com/event/339464/
気になる記事
re:Invent 2024 公開のコンピューティング・セキュリティ等関連アップデートからピックアップ
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1201/
AWS Organizations で宣言型ポリシーが利用可能
https://dev.classmethod.jp/articles/aws-organizations-declarative-policies-available/
試してみた
https://dev.classmethod.jp/articles/declarative-policies/
ベストプラクティスまとめ
https://dev.classmethod.jp/articles/declarative-policies-bestpractice/
AWSサポートの備忘録
https://qiita.com/beajourneyman/items/4da50dfa6d8ce4b844cd
Amazon Bedrock Knowledge Bases Web Crawler (Preview)
https://qiita.com/beajourneyman/items/65161b0b434d88dff21f
Amazon Nova と Claude Haiku の比較
https://qiita.com/beajourneyman/items/c5367f31c4ce49633b4f
Bedrock の LLM-as-a-judge (Preview)
https://qiita.com/beajourneyman/items/c1ac4948214891887e2e
終了後
ジャニさんとJAWS-UG勉強会運営についてお話し
2024#51 2024/12/19 (木) https://jawsug-niigata.connpass.com/event/340105/
もくもく会
12/21 (土) の AWS re:Invent 2024 re:Cap 資料の作成
https://jawsug-niigata.connpass.com/event/337921/
資料のベース
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1201/
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1202/
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1203/
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1204/
https://dev.classmethod.jp/articles/reinvent2024-updates-summary-1205-after/
2024#52 2024/12/26 (木) https://jawsug-niigata.connpass.com/event/340743/
もくもく会
S3 Tablesを試す
まずは新規アカウントをOrganizationsで作成して、Lake Formationを有効化
「AWS 分析サービスとの統合」を有効化して、S3 Tablesバケットを作成
NamespaceとTable作成をCLIから試してみたものの、Tableのスキーマ定義方法が分からず
素直にSpark ShellからSpark SQLで作成する
2025/1/2 (木) はお休み